/**
 * 
 */
package mleiria.pt.math;

import java.util.HashMap;
import java.util.Map;
import java.util.Random;

/**
 * @author manuel
 *
 */
public class TabuadaGenerator {
	
	public static Map<String, Tabuada[]> tabuadas = new HashMap<String, Tabuada[]>();
	public static String[] tabuadaNome = new String[]{"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"};
	private final static int max = 10;
	private final static  int min = 1;
	
	static{
		for(int i = 0; i < 10; i++){
			Tabuada[] tabuadaArr = new Tabuada[10];
			for(int j = 0; j < 10; j++){
				Tabuada tabuada = new Tabuada();
				tabuada.setMultiplicando(i+1);
				tabuada.setMultiplicado(j+1);
				tabuada.setResultado((i+1)*(j+1));
				tabuadaArr[j] = tabuada;
			}
			tabuadas.put(String.valueOf(i+1), tabuadaArr);
		}
	}
	
	public static Tabuada[] getRandomTabuada(){
		final Random rand = new Random();
		final int randomNum = rand.nextInt((max - min) + 1) + min;
		//System.out.println("Random Tabuada:" + randomNum);
		return TabuadaGenerator.tabuadas.get(String.valueOf(randomNum));
	}
	
	public static Tabuada getRandomOperacao(final Tabuada[] tabuada){
		final Random rand = new Random();
		final int randomNum = rand.nextInt((max - min) + 1) + min;
		//System.out.println("Random Operacao:" + randomNum);
		return tabuada[randomNum-1];
		
	}

}
